

using System;
using System.Text;

using NHibernate;
using NHibernate.Cfg;
using NHibernate.Criterion;
using NHibernate.Exceptions;

using NuevoGenNHibernate.EN.Ebay;
using NuevoGenNHibernate.CAD.Ebay;

namespace NuevoGenNHibernate.CEN.Ebay
{
public partial class VotacionCEN
{
private IVotacionCAD _IVotacionCAD;

public VotacionCEN(IVotacionCAD _IVotacionCAD)
{
        this._IVotacionCAD = _IVotacionCAD;
}

public IVotacionCAD get_IVotacionCAD ()
{
        return this._IVotacionCAD;
}

public int CrearVotacion (int p_valor, string p_comentario, string p_votante, int p_venta)
{
        VotacionEN votacionEN = null;
        int oid;

        //Initialized VotacionEN
        votacionEN = new VotacionEN ();
        votacionEN.Valor = p_valor;

        votacionEN.Comentario = p_comentario;


        if (p_votante != null) {
                votacionEN.Votante = new NuevoGenNHibernate.EN.Ebay.UsuarioEN ();
                votacionEN.Votante.Nick = p_votante;
        }


        if (p_venta != -1) {
                votacionEN.Venta = new NuevoGenNHibernate.EN.Ebay.VentaEN ();
                votacionEN.Venta.Id_venta = p_venta;
        }

        //Call to VotacionCAD

        oid = _IVotacionCAD.CrearVotacion (votacionEN);
        return oid;
}

public void ModificarVoto (int p_Votacion_OID, int p_valor, string p_comentario)
{
        VotacionEN votacionEN = null;

        //Initialized VotacionEN
        votacionEN = new VotacionEN ();
        votacionEN.Id_voto = p_Votacion_OID;
        votacionEN.Valor = p_valor;
        votacionEN.Comentario = p_comentario;
        //Call to VotacionCAD

        _IVotacionCAD.ModificarVoto (votacionEN);
}

public VotacionEN ReadOID (int id_voto)
{
        VotacionEN votacionEN = null;

        votacionEN = _IVotacionCAD.ReadOID (id_voto);
        return votacionEN;
}

public System.Collections.Generic.IList<VotacionEN> ReadAll (int first, int size)
{
        System.Collections.Generic.IList<VotacionEN> list = null;

        list = _IVotacionCAD.ReadAll (first, size);
        return list;
}
}
}
